﻿using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
using consultasSql.consultasVarias;

public partial class Stdby_OrdenTrabajo_tabOrdenTrabajo_estadoOt : System.Web.UI.Page
{
    private void mostrarMensaje(string mensaje)
    {
        System.Text.StringBuilder sbMensaje = new System.Text.StringBuilder();

        sbMensaje.Append("<script type='text/javascript'>");
        sbMensaje.AppendFormat("alert('{0}');", mensaje);
        sbMensaje.Append("</script>");
        ClientScript.RegisterClientScriptBlock(this.GetType(), "Mensaje", sbMensaje.ToString());
    }

    /*---------------------------------------------------------*/
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("../tabOrdenTrabajo/estadoOt.aspx", false);
    }


    /*---------------------------------------------------------*/

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["idOt"] != null)
            {
                if (!String.IsNullOrEmpty(Session["idOt"].ToString().Trim()))
                {
                    cargarCampos(Convert.ToInt32(Session["idOt"].ToString().Trim()));
                }
                else
                {
                    Response.Redirect("~/Stdby/OrdenTrabajo/tabOrdenTrabajo/ordenTrabajo.aspx", false);
                }
            }
            else
            {
                Response.Redirect("../ingresoOrdenTrabajo/ingresoOrdenTrabajo.aspx");
            }
        }

    }


    //cargo los campos desde la tabla RemitoCab
    private void cargarCampos(int IdOtCab)
    {

        string consulta = "IF EXISTS(SELECT * FROM EstadosOT WHERE IdOtCab = @IdOtCab) BEGIN SELECT TOP 1 CASE WHEN OrdenTrabajo = 1 THEN 1 ELSE 0 END AS 'OrdenTrabajo', CASE WHEN InsumosAsociados = 1 THEN 1 ELSE 0 END AS 'InsumosAsociados', CASE WHEN Transporte = 1 THEN 1 ELSE 0 END AS 'Transporte', CASE WHEN RemitoGenerado = 1 THEN 1 ELSE 0 END AS 'RemitoGenerado', CASE WHEN NroRemitoAsignado = 1 THEN 1 ELSE 0 END AS 'NroRemitoAsignado', CASE WHEN RequisicionOc = 1 THEN 1 ELSE 0 END AS 'RequisicionOc', CASE WHEN FacturaAsignada = 1 THEN 1 ELSE 0 END AS 'FacturaAsignada', CASE WHEN ElementosDesvinculados = 1 THEN 1 ELSE 0 END AS 'ElementosDesvinculados', CASE WHEN Anulada = 1 THEN 1 ELSE 0 END AS 'Anulada' FROM EstadosOT WHERE IdOtCab = @IdOtCab END      ELSE BEGIN SELECT 0 AS 'OrdenTrabajo', 0 AS 'InsumosAsociados', 0 AS 'Transporte', 0 AS 'RemitoGenerado', 0 AS 'NroRemitoAsignado', 0 AS 'RequisicionOc', 0 AS 'FacturaAsignada', 0 AS 'ElementosDesvinculados', 0 AS 'Anulada' END";

        SqlCommand command = new SqlCommand();


        command.CommandType = CommandType.Text;
        command.CommandText = consulta;

        command.Parameters.Clear();

        command.Parameters.AddWithValue("@IdOtCab", IdOtCab);


        DataTable tabla = new CDarDataSet().darDataTable(command);


        try
        {
            for (int i = 0; i < 9; i++)
            {
                string nombre = "label" + Convert.ToString(i + 1);

                Label lab = (Label)this.panelEstadoOt.FindControl(nombre);

                if (lab != null)
                {
                    if (tabla.Rows[0][i].ToString().Equals("1"))
                    {
                        lab.Text = "Si";
                    }
                    else
                    {
                        lab.Text = "No";
                    }
                }
            }

        }
        catch { }

    }

}